Перейти к основному содержимому

1.15. Структурированные данные

Всем

Структурированные данные

Структурированные данные – данные, имеющие стандартизированный формат, что обеспечивает как человекочитаемость, так и машиночитаемость.

XML (eXtensible Markup Language) – иерархический формат для структурированных данных, использует теги и атрибуты, применяется в конфигурациях, веб-сервисах (SOAP) и машиночитаемых документах.

Теги открываются через наименование в фигурных скобках «<Element>» и закрываются таким же тегом, но с добавлением «/» - «</Element>», и всё, что будет между «>» и «<» - будет значением элемента.

У элементов может быть атрибут, который устанавливается внутри фигурных скобок, и имеет значение, отображаемое через знак равенства "=" и заключаемое в кавычки: «<Element Attribute="Value">»:

<ParentElement>
<Child>Значение элемента</Child>
<Child2 Attribute="Значение атрибута">Значение элемента</Child2>
</ParentElement>

SGML (Standard Generalized Markup Language) был одним из первых языков разметки, стандартизированном ещё в 1986 году, и на его основе был создан HTML (HyperText Markup Language) в начале 1990-х годов.

К середине 1990-х стало понятно, что нужен более гибкий и универсальный формат, чем HTML или SGML, который можно использовать для обмена данными между системами, в конфигурационных файлах, веб-сервисах и в документообороте. Тогда, в 1996 году группа экспертов начала работу над новым стандартом, и в 1998 году W3C (World Wide Web Consortium) выпустила первую официальную спецификацию XML 1.0.

XML-файлы можно валидировать с помощью DTD или XML Schema (XSD), чтобы гарантировать целостность данных, можно использовать пространства имён, чтобы избежать коллизий имён тегов, а также комментарии, и даже экранирование символов.

XSLT (XML Transformations) – язык преобразования XML-документов, используемый для конвертации между форматами, генерации HTML из XML, маппинга или фильтрации данных.

После появляения XML, со временем сильно накипело то, что у этого формата не было встроенного механизма визуализации или трансформации данных — то есть, как только данные были описаны в XML, требовалось что-то ещё, чтобы отобразить их в удобном виде (например, в браузере). Чтобы решить эту задачу, W3C создала XSL (eXtensible Stylesheet Language) — набор технологий для работы с XML, включающий XSLT для преобразования, XPath для навигации и XSL-FO для форматирования в печатный формат PDF.

Первая версия XSLT 1.0 была выпущена W3C в ноябре 1999 года.

XSD (XML Schema Definition) – XML-схема, описывающая структуру документа, которая создаёт модель документа и включает:

  • словарь (названия элементов и атрибутов);
  • модель отношений между элементами и атрибутами и их структуру;
  • типы данных элементов и атрибутов.

XSD-схемы нужны как чертежи для построения XML и проверки существующих файлов, допустим, на корректность элементов или полноту структуры, что позволяет эффективно проводить валидацию данных без участия человека.

JSON (JavaScript Object Notation) – легковесный формат обмена данными, является альтернативой XML для веб-приложений, широко используется в веб-API. Пример:

{
"ключ-текст": "значение",
"ключ-число": 30,
"ключ-массив": ["значение 1", "значение 2"]
}

Формат не был изобретён с нуля — он вырос из практики использования JavaScript для передачи данных в браузерах (объектный литерал, JS Object), и Дуглас Крокфорд систематизировал и популяризировал его. Так что сейчас это независимый формат.

CSV (Comma-Separated Values) – табличный формат данных, где строки – записи, столбцы разделены запятыми (или другими символами). Пример:

Name,Age,City
John,30,New York
Alice,25,"Los Angeles, CA"

Формат CSV не имеет единого стандарта, и появился ещё в 1970-х, когда возникла потребность в простом способе экспорта и импорта информации между различными системами. Он жив до сих пор за счёт своей простоты и машиночитаемости.